package com.jtny.nytb.dataparam.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jtny.component.core.domain.BaseDO;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Optional;


/**
 * 数据参量管理DO类对象
 * @package com.jtny.nytb.config.datafactor.domain
 * @fileName ConfigDataParamManagementDO.java
 * @author 智慧能源中心 - 刘琦
 * @createTime 2023年9月05日 16:06
 * @Copyright© 2023 jtny
 * 江投能源技术研究院 版权所有
 */

@Data
@EqualsAndHashCode(callSuper = true)
@TableName("config_data_param_management")
public class ConfigDataParamManagementDO extends BaseDO implements Serializable {


    /**
     *     参量来源：1-设备采集，2-系统计算，3-常量，4-手动填报
     */
    public static final int DEVICE_ACQ = 1;
    public static final int SYSTEM_CAL = 2;
    public static final int CONSTANTS = 3;
    public static final int MANUAL = 4;




    private String reportIdentifier;

    /**
     * 统一参量标识
     */
    private String unifiedIdentifier;

    /**
     * 统一参量标识名称
     */
    private String unifiedIdentifierName;

    /**
     * 参量名称
     */
    private String name;
    /**
     * 参量编码
     */
    private String code;
    /**
     * 参量来源：1-手动填报，2-系统计算，3-常量，4-手动填报
     */
    private Integer source;
    @TableField(exist = false)
    private String sourceStr;


    /**
     * 别名
     */
    private String alias;
    /**
     * 数据类型：1-实时量，2-累计量
     */
    private Integer dataType;
    @TableField(exist = false)
    private String dataTypeStr;

    /**
     * 默认图标：
     */
    private Integer chart;
    @TableField(exist = false)
    private String chartStr;

    /**
     * 小数点位
     */
    private Integer digit;
    /**
     * 记点频率数据
     */
    private Integer frequency;
    /**
     * 记点频率单位
     */
    private String frequencyUnit;
    /**
     * 计量长度
     */
    private String measurementUnit;
    /**
     * 算法名称
     */
    private String algorithmName;
    /**
     * 描述
     */
    private String paramDescribe;
    /**
     * 状态：0-正常， 9-已删除
     */
    private Integer status;

    public void setSourceInteger(){
        this.source = Integer.valueOf(Optional.ofNullable(this.getSourceStr()).orElse("-1"));
        this.dataType = Integer.valueOf(Optional.ofNullable(this.getDataTypeStr()).orElse("-1"));
        this.chart = Integer.valueOf(Optional.ofNullable(this.getChartStr()).orElse("-1"));

    }
}

